import axios from "axios";
import {  MessageBox } from "element-ui";
console.log(process.env.NODE_ENV); //development  production
// 1.不同的环境  配置不同请求基本地址
var serice = axios.create({
    baseURL: process.env.NODE_ENV == "development" ?
        "/VueHandler" :
        "http://zainagou.com/list",
    timeout: 5000,
});
export default function requset(url, method = "get", params, header) {
    // 2. get 请求方式配置表单类型的请求头
    if (method == "get") {
        serice.defaults.headers["Content-type"] =
            "application/x-www-form-urlencoded";
    }
    // 3.post请求方式 根据参数配置了不同的请求头
    if (method == "post") {
        if (header == "mul") {
            //上传的请求头
            // multipart / form - data;
            serice.defaults.headers["Content-type"] = "multipart/form-data";
        } else {
            serice.defaults.headers["Content-type"] = "application/json";
        }
    }
    // 配置请求拦截器
    // 4. 请求拦截器 配置loading效果 token拦截
    // 携带到请求头  发送给后台
    serice.interceptors.request.use((config) => {
        // Loading.service({ fullscreen: true });
        if (localStorage.token) {
            config.headers.Authorization = "Bearer " + localStorage.token;
        }
        return config;
    });
    // 配置响应拦截器
    // 响应拦截器 关闭loading
    //根据公司的数据状态码  完成公共提示

    serice.interceptors.response.use((respones) => {
        // Loading.service({ fullscreen: true }).close(); //关闭loding
        // 公共提示
        if (respones.status == "404") {
            MessageBox.alert("请求地址错误");
        } else if (respones.code == "50001") {
            MessageBox.alert("登录过期");
        } else if (respones.code == "700") {
            MessageBox.alert("暂无数据");
        }

        return respones;
    });

    return serice({
        url: url,
        method: method,
        [method == "get" ? "params" : "data"]: params,
    });
}